#include <iostream>
#include <vector>
using namespace std;

int main() {

	string str;
	int nRet=1;
	cin>>str;
	int n=static_cast<int>(str.size());
	vector<vector<int>> dp(n,vector<int>(n,1));
	for(int len=2;len<=n;++len){
		for(int i=0;i+len-1<n;++i){
			int r=i+len-1;
			if(str[i]==str[r]){
				if(len==2){
					dp[i][r]=2;
				}
				else{
					dp[i][r]=dp[i+1][r-1]+2;
				}
			}
			else{
				dp[i][r]=max(dp[i][r-1],dp[i+1][r]);
			}
		}
	}
	cout<<dp[0][n-1];
	
	return 0;
}
